import maya.cmds as cmds
cmds.SelectAll();
cmds.Delete();

height = 10.0
cubeSide=208
circleDiameter = 232
wallThickness = 1
fanDiameter = 180
fanTubeHeight = wallThickness*2
tubeDiameter = 101.6#4 in

circleOutter = cmds.polyCylinder(sa=100,r=circleDiameter/2.0+wallThickness,h=height)#polypipe bug, where height is created at half height. :(
boxOutter = cmds.polyCube(w=cubeSide+wallThickness*2, h=height,sy=5,d=circleDiameter+wallThickness*2);
#cmds.move(0,0, -(circleDiameter/2.0+wallThickness*2));

cmds.select(boxOutter[0],circleOutter[0]);
shroudOutter = cmds.polyBoolOp(op=3);
  
circleInner = cmds.polyCylinder(sa=50,r=circleDiameter/2.0,h=height)#polypipe bug, where height is created at half height. :(
boxInner = cmds.polyCube(w=cubeSide, h=height,sy=5,d=circleDiameter+1);
#cmds.move(0,0, -(circleDiameter/2.0+wallThickness*2));
  
cmds.select(boxInner[0],circleInner[0]);
shroudInner = cmds.polyBoolOp(op=3);
cmds.move(0,-wallThickness, 0);
  
cmds.select(shroudOutter[0],shroudInner[0]);
shroud = cmds.polyBoolOp(op=2);
 
fanHousing = cmds.polyCylinder(sa=50,r=fanDiameter/2.0+wallThickness*2,h=height)
cmds.select(shroud[0],fanHousing[0]);
shroud = cmds.polyBoolOp(op=2);
 
 
#box = cmds.polyCube(w=cubeSide+wallThickness*2+1, h=height+1,sy=5,d=circleDiameter);
#cmds.move(0,0, -(circleDiameter/2.0));
#cmds.select(shroud[0],box[0]);
#shroud = cmds.polyBoolOp(op=3);
#cmds.rotate('270deg',0,0);

fanFlat = cmds.polyPipe(sa=100,r=fanDiameter/2.0+wallThickness*2,h=wallThickness*2,t=wallThickness*2)#polypipe bug, where height is created at half height. :(
cmds.move(0,wallThickness/2.0, 0);
fanTube = cmds.polyPipe(sa=100,r=fanDiameter/2.0,h=fanTubeHeight*2,t=wallThickness)#polypipe bug, where height is created at half height. :(
cmds.move(0,fanTubeHeight/2.0, 0);

coneOutter = cmds.polyCone(sa=100,r=fanDiameter/2.0,h=fanDiameter/2.0)
cmds.move(0,fanDiameter/4.0+fanTubeHeight, 0);

fanPipe =  cmds.polyCylinder(sa=100,r=tubeDiameter/2.0+wallThickness,h=fanDiameter/2.0);
cmds.move(0,fanDiameter/4.0, 0);

cmds.select(coneOutter[0],fanPipe[0]);
shroud = cmds.polyBoolOp(op=1);


#objects = cmds.polySeparate(shroud);
#cmds.select(objects[0])
# cmds.Delete();
# cmds.select(objects[1])
#cmds.rotate('90deg',0,0);